package com.alameda.api.user;

import com.alameda.commonpent.mp.BaseService;
import com.alameda.user.dto.UserOperateLogDTO;
import com.alameda.user.pojo.UserOperateLogDO;
import com.alameda.user.vo.UserOperateLogVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * 用户操作日志 业务逻辑层
 *
 * @author Lv
 * @date 2025/01/09
 */
public interface UserOperateLogService extends BaseService<UserOperateLogDO> {
    /**
     * 读取用户操作信息
     *
     * @param userOperateLogDTO 用户操作日志数据传递对象
     * @return
     */
    IPage<UserOperateLogVO> listUserOperateInfo(UserOperateLogDTO userOperateLogDTO);

    /**
     * 导出excel
     *
     * @param userOperateLogDTO 用户操作日志数据传递对象
     */
    void exportExcel(UserOperateLogDTO userOperateLogDTO);

    /**
     * 保存操作记录
     *
     * @param userOperateLogDTO 用户操作日志数据传递对象
     * @return
     */
    Boolean saveOperateLogInfo(UserOperateLogDTO userOperateLogDTO);

    /**
     * 物理删除超过七天的操作日志数据
     *
     * @param sql 删除sql
     * @return
     */
    Boolean deleteOperateLog(String sql);
}
